package ace.module.stock.core.impl.service;

import ace.module.common.api.model.input.TenantAndAppTypeInput;
import ace.module.stock.api.model.dto.WmsSalesQuantityDto;
import ace.module.stock.api.model.input.WmsBizInitInput;
import ace.module.stock.api.model.input.WmsBizParentIdInput;
import ace.module.stock.api.model.input.WmsBizUniqueIdInput;
import ace.module.stock.api.model.input.WmsSalesActionRecordWithBatchSnInput;
import ace.module.stock.api.model.input.WmsSalesActionTypeRecordWithBatchSnInput;
import ace.module.stock.api.model.input.WmsSalesReverseBatchSnInput;
import java.util.List;

/**
 * .
 *
 * @author Caspar
 */
public interface WmsSalesQuantityService {

  void initOrNone(TenantAndAppTypeInput<WmsBizInitInput> input);

  String add(TenantAndAppTypeInput<WmsSalesActionRecordWithBatchSnInput> input);

  String subtract(TenantAndAppTypeInput<WmsSalesActionRecordWithBatchSnInput> input);

  String modify(TenantAndAppTypeInput<WmsSalesActionTypeRecordWithBatchSnInput> input);

  String reverse(TenantAndAppTypeInput<WmsSalesReverseBatchSnInput> input);

  List<WmsSalesQuantityDto> getDtoByBizUniqueIdIn(TenantAndAppTypeInput<List<WmsBizUniqueIdInput>> input);

  List<WmsSalesQuantityDto> getDtoByBizParentIdIn(TenantAndAppTypeInput<WmsBizParentIdInput> bizParentId);
}
